/**
 * brs 公用
 * @author yangjiangming <449654337@qq.com>
 * @since 2020/01/09 19:08:56
 */
layui.define(function (exports) {
    var admin = layui.admin;

    /**
     * 退出登录
     */
    admin.events.logout = function () {
        //执行退出接口
        admin.req({
            async: false,
            type: 'POST', url: '/passport/modify/logout',
            dataType: "JSON", data: {},
            done: function (res) { //这里要说明一下：done 是只有 response 的 code 正常才会执行，而 succese 则是只要 http 为 200 就会执行
                //清空本地记录的 token，并跳转到登入页
                admin.exit(function () {
                    location.href = '/passport/login';
                });
            }
        });
    };

    let zmnApp = {
        // SYS_BASE_URL: ZMN_ENV + "brs.xiujiadian.com"
        SYS_BASE_URL: "http://local-plat.xiujiadian.com:13913"
    }

    exports('zmnApp', zmnApp);
});

let appUtil = {

    /**
     * 获取table选中的ids集合（lay-table中复选框选择）
     * @param obj toolbar触发的事件对象
     * @param comInputName 多字段名称组中的公共字段的表单元素名称
     * @param colNames 多字段名称组，不包含公共字段，非必须
     * @returns {any[]}
     */
    layTabldIds: function(obj, colNames, comInputName) {
        let comValue;
        if(zmnUtil.isNotEmptyNull(comInputName)) {
            comValue = $('input[name="' + comInputName + '"]').val();
        }
        let groups = new Array();
        let jdata = obj.config.data;
        for(let i = 0; i < jdata.length; i++) {
            let o = jdata[i];
            if(o['LAY_CHECKED']) {
                let group = new Array();
                if(zmnUtil.isNotEmptyNull(comValue)) {
                    group.push(comValue);
                }
                colNames.forEach(function (colName) {
                    group.push(o[colName]);
                });
                groups.push(group.join('_'));
            }
        }
        return groups;
    },

    /**
     * 从多个input中获取input的值，以最后一个input优先
     * @param selectors
     * @returns {number|jQuery}
     */
    findInputValue: function (selectors) {
        if(!zmnUtil.isArray(selectors)) {
            return 0;
        }
        let l = selectors.length;
        for(let i = l - 1; i >=0; i--) {
            let $this = $(selectors[i]);
            if($this.length > 0 && zmnUtil.isNotZeroInteger($this.val())) {
                return $this.val();
            }
        }
        return 0;
    },

    notNull: function (val) {
        if (val == undefined || val == "" || val == null) {
            return false;
        } else {
            return true;
        }
    },
    isNull: function (val) {
        return !appUtil.notNull(val);
    },

}
